草庐IT

java - 01 扭结背包

全部标签

java - 在 WIndows 上的 Java 中,如何检测文件是否具有 'Read Only' 属性

在Windows中,文件可能不可写,因为用户由于访问控制列表权限而无权修改文件,或者只是因为文件设置了只读属性。我的应用程序是用Java编写的,这些情况中的任何一个都可能导致Files.isWritable(file)失败,但是我如何确定导致失败的情况,具体来说,我只想知道是否设置了只读属性。我注意到有一个File.setReadOnly()方法(以及File.setWritable()),我假设在Windows上这只会设置属性,但似乎没有File.isReadOnly()方法。 最佳答案 我使用此方法检查是否只读,(它使用自定义方

java - 为什么在 Dos 窗口中运行 Java 会尝试运行包装在 exe 中的应用程序

完全难住了这对某些人来说可能是显而易见的。我将我的Java应用程序打包在安装程序中(使用Izpack),安装后它们会运行SongKong64.exe,它是使用Launch创建的java文件的包装器这对他应该得到这样的东西的客户不起作用:debuglogfileis:C:\Users\Terrence\AppData\Roaming\SongKong\Logs/songkong_debug%u-%g.loguserlogfileis:C:\Users\Terrence\AppData\Roaming\SongKong\Logs/songkong_user%u-%g.log17/02/20

java - mac 中的 processWindowEvent

我有一个javaswing应用程序,它有一个processWindowEvent方法。下面是片段@OverrideprotectedvoidprocessWindowEvent(WindowEvente){if(e.getID()==WindowEvent.WINDOW_CLOSING){//exitapplicationwithpropererrormessage}}现在,当我的swing应用程序在Windows中启动时。在SwingUI中用十字关闭。==>显示正确的错误信息从任务栏关闭应用程序==>显示正确的错误消息但现在如果同样的步骤在mac中完成。在SwingUI中用十字关闭。

java - 在两台计算机上测试 Android 应用程序时的结果截然不同

我正在开发一个Android应用程序,当我出门在外时,我会在我的Macbook笔记本电脑上进行开发,而在家中使用Windows计算机。我在两台机器上都有相同的JDK版本(1.8.0_131),并且我设置了正确的JDK路径,如下所示:HowtosettheJDKinAndroidStudio.当我在两台机器上调用Class.getDeclaredFields()方法时,我得到的结果截然不同。在我的Mac上,该方法的行为类似于Java-Doc说应该,尽管它似乎只看到公共(public)领域。在我的Windows计算机上测试时,该方法返回所有字段,甚至是继承的字段,这正是Java-Doc明确

java - jmap -histo 在 Windows 中具有特定对象

在Linux上测试我的jar应用程序时,我使用下面的命令行来跟踪特定对象(例如JButton)的使用情况/内存负载。jmap-histo:live|grepJButton哪些结果:35:2411136javax.swing.JButton99:312728javax.swing.JButton$AccessibleJButton现在我正尝试对Windows执行相同的操作,但我找不到类似的命令(如grep)来跟踪特定对象。jmap-histo[:live]提供所有对象的完整列表。Windows是否有用于此类用法的类似工具或替代方法? 最佳答案

java - Bat 文件在退出时打开空白命令提示符

我有一个.jar文件和一个用于该特定.jar的jre文件夹,通过这样做,用户将不必下载Java,或者如果他们没有,它仍然可以工作。为了启动这个.jar文件,我使用了一个.bat文件,如下所示。%~dp0jre\bin\java.exe-jar%~dp0myJar.jar%~dp0部分用于查找jre文件和.jar文件的路径。但问题是,每当.bat文件启动.jar文件时,命令提示符仍然打开。我知道这是因为我的程序是一个“窗口”应用程序,因此命令提示符将在.jar程序完成后首先关闭。为了解决这个问题,我尝试使用以下不同的方法修改.bat文件。(不是一次全部,一次一个)start%~dp0jr

java - JAR 文件如何 self 删除?

我需要一个JAR文件来删除自身。问题是Windows在运行时锁定了JAR文件,无法直接删除自身。我研究了批处理脚本可以终止JAR进程然后删除文件的解决方案,但是System.exit(0)是不需要的,因为它不能通过Batch文件运行。taskkill/F/IM"java.exe"是不需要的,因为它会杀死ALLJava进程。jps无法使用becauseitisonlyavailableintheJDK并且用户可能会运行JRE,这样会失败。我一直在寻找一种解决方案,它可以让我使用Java代码找到当前JAR的PID,然后写出Batch命令并插入终止进程的PID,例如像下面这样:printWr

java - Bouncy CaSTLe 无法在 Linux 机器上运行

我为fips投诉签名生成和验证实现了boucnyCaSTLe,这在Windows环境中运行良好,但在Linux环境中,代码卡在key对生成上。以下是我编写的代码:publicstaticKeyPairgenerateKeyPair()throwsGeneralSecurityException{KeyPairGeneratorkeyPair=KeyPairGenerator.getInstance("RSA","BCFIPS");keyPair.initialize(newRSAKeyGenParameterSpec(3072,RSAKeyGenParameterSpec.F4));r

java - 在 JavaFX 中将单个阶段置于窗口的最前面

我正在尝试在JavaFX中创建一个可以在窗口中弹出到最前面的舞台,同时主舞台保持最小化。然而,这仅在主舞台在屏幕上可见时有效。我已尝试使用模态使其工作,但用户无法与主舞台交互,这不是我想要的。可以使用以下应用程序重现该问题:publicclassMainAppextendsApplication{@Overridepublicvoidstart(Stagestage)throwsException{ScenemainScene=newScene(newParent(){});StagemainStage=newStage();mainStage.setScene(mainScene);

java - 在 Windows 上安装多个 Java

能否在Vistax64上同时安装32位和64位Java? 最佳答案 是的,事实上,这是获取JavaWebstart的唯一方法,因为没有64位版本。编辑:据称是64位JavaWebStartwillbeavailable在Java6u12中。 关于java-在Windows上安装多个Java,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/496847/